home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1994 November / macformat-018.iso / Comms Spectacular / finger_server_0.6 / MacTCP_includes / AddressXlation.h next >
Encoding:
C/C++ Source or Header  |  1992-02-27  |  1.8 KB  |  78 lines  |  [TEXT/MPS ]

  1. /* 
  2.     AddressXlation.h        
  3.     MacTCP name to address translation routines.
  4.  
  5.     Copyright Apple Computer, Inc. 1988-91
  6.     All rights reserved
  7.     
  8. */    
  9.  
  10. #define NUM_ALT_ADDRS    4
  11.  
  12. typedef struct hostInfo {
  13.     long    rtnCode;    /*n3liw*/
  14.     char cname[255];
  15.     unsigned long addr[NUM_ALT_ADDRS];
  16. };
  17.  
  18. typedef enum AddrClasses {
  19.     A = 1,
  20.     NS,
  21.     CNAME = 5,
  22.     HINFO = 13,
  23.     MX = 15,
  24.     lastClass = 32767
  25. } AddrClasses; 
  26.  
  27. typedef struct HInfoRec {
  28.     char cpuType[30];
  29.     char osType[30];
  30.     };
  31.  
  32. typedef struct MXRec {
  33.     unsigned short preference;
  34.     char exchange[255];
  35.     };
  36.     
  37. typedef struct returnRec {
  38.     long    rtnCode;
  39.     char cname[255];
  40.     union {
  41.         unsigned long addr[NUM_ALT_ADDRS];
  42.         struct HInfoRec hinfo;
  43.         struct MXRec mx;
  44.     } rdata;
  45. };
  46.  
  47. typedef struct cacheEntryRecord {
  48.     char *cname;
  49.     unsigned short type;
  50.     unsigned short cclass;
  51.     unsigned long ttl;
  52.     union {
  53.         char *name;
  54.         ip_addr addr;
  55.     } rdata;
  56. };
  57.  
  58. typedef pascal void (*EnumResultProcPtr)(struct cacheEntryRecord *cacheEntryRecordPtr, char *userDataPtr);
  59.  
  60. typedef pascal void (*ResultProcPtr)(struct hostInfo *hostInfoPtr, char *userDataPtr);
  61.  
  62. typedef pascal void (*ResultProc2Ptr)(struct returnRec *returnRecPtr, char *userDataPtr);
  63.  
  64. extern OSErr OpenResolver(char *fileName);
  65.  
  66. extern OSErr StrToAddr(char *hostName, struct hostInfo *hostInfoPtr, ResultProcPtr ResultProc, char *userDataPtr);
  67.  
  68. extern OSErr AddrToStr(unsigned long addr, char *addrStr);
  69.  
  70. extern OSErr EnumCache(EnumResultProcPtr enumResultProc, char *userDataPtr);
  71.  
  72. extern OSErr AddrToName(ip_addr addr, struct hostInfo *hostInfoPtr, ResultProcPtr ResultProc, char *userDataPtr);
  73.  
  74. extern OSErr HInfo(char *hostName, struct returnRec *returnRecPtr, ResultProc2Ptr resultProc, char *userDataPtr);
  75.  
  76. extern OSErr MXInfo(char *hostName, struct returnRec *returnRecPtr, ResultProc2Ptr resultProc, char *userDataPtr);
  77.  
  78. extern OSErr CloseResolver();